.header {
  padding: 3em 0 2em;
  text-align: center;

  @media (min-width: 768px) {
    padding: 1em 0;
    margin-bottom: 1em;
  }

  h1 {
    font-size: 2em;

    @media (min-width: 768px) {
      font-size: 2.5em;
    }

    a {
      display: inline-block;
    }
  }

  p {
    position: relative;
    display: inline-block;
    margin: 0 auto 1em;
    padding: 0.75em 1em;
    font-size: 1.25em;

    .text {
      position: relative;
      z-index: 2;
    }

    &::before {
      content: '';
      display: block;
      width: 100%;
      position: absolute;
      z-index: 1;
      top: 0;
      bottom: 0;
      left: 0;
      background: rgba(#463C3B, 0.1);
      border-radius: 0.5em;

      @include animation(upload 2.5s ease);
    }

    .icon {
      position: absolute;
      top: -0.75em;
      right: 0em;
      @include transform(rotate(-225deg));
      @include animation(paperclip 2.5s ease);
    }

    @media (min-width: 768px) {
      margin-bottom: 1em;
    }
  }
}

@include keyframes(upload) {
  0% { width: 0; }
  15% { width: 20%; }
  85% { width: 60%; }
  100% { width: 100%; }
}

@include keyframes(paperclip) {
  0% {
    opacity: 0;
  }
  85% {
    opacity: 0;
    @include transform(scale(0) rotate(0deg));
  }
  100% {
    opacity: 1;
    @include transform(scale(1) rotate(-225deg));
  }
}
